package info.sean.util;


public class Args {

    /**
     * 断言参数不是null，若是null将抛出异常。
     * @param argument 参数
     * @param argumentName 参数名
     * @throws IllegalArgumentException 当参数argument为null时抛出
     */
    public static void notNull(Object argument, String argumentName)
            throws IllegalArgumentException {
        if (argument == null) {
            throw new IllegalArgumentException(argumentName + "不能为空");
        }
    }

    /**
     * 断言字符串参数不为null或空字符串，若是则抛出异常
     * @param argument 字符串参数
     * @param argumentName 参数名
     * @throws IllegalArgumentException 当参数为null或空字符串时抛出
     */
    public static void notBlank(String argument, String argumentName)
            throws IllegalArgumentException{
        if (argument == null || argument.isEmpty()) {
            throw new IllegalArgumentException(argumentName + "不能为空");
        }
    }

    /**
     * 判断给定的条件，如果为{@code false}则抛出异常
     * @param condition 给定的条件
     * @param msg       异常消息
     * @throws IllegalArgumentException
     */
    public static void checkTrue(boolean condition, String msg)
            throws IllegalArgumentException {
        if (condition == false)
            throw new IllegalArgumentException(msg);
    }



}
